package com.pair.micro.fee.modules.charge.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fhs.core.trans.vo.TransPojo;
import com.pair.micro.common.utils.DateUtils;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
@Schema(description = "业主信息管理")
public class RoomOwnerVO implements Serializable, TransPojo {
    private static final long serialVersionUID = 1L;

    @Schema(description = "id")
    private Integer id;
    @Schema(description = "操作人Id")
    private Integer operateId;

    @Schema(description = "所在市id")
    private Integer cityId;

    @Schema(description = "小区ID", required = true)
    @NotNull(message = "小区ID不能为空")
    private Integer gardenId;

    @Schema(description = "楼房ID" , required = true)
    @NotNull(message = "楼房ID不能为空")
    private Integer houseId;

    @Schema(description = "单元ID" , required = true)
    @NotNull(message = "单元ID不能为空")
    private Integer unitId;

    @Schema(description = "房间ID", required = true)
    @NotNull(message = "房间ID不能为空")
    private Integer roomId;

    @Schema(description = "业主姓名" , required = true)
    @NotBlank(message = "业主姓名不能为空")
    private String name;

    @Schema(description = "手机号", required = true)
    @NotBlank(message = "手机号不能为空")
    private String mobile;

    @Schema(description = "身份证号")
    private String idno;

    @Schema(description = "交付时间")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date deliveryTime;

    @Schema(description = "地址")
    private String address;

    @Schema(description = "建筑面积", required = true)
    @NotBlank(message = "建筑面积不能为空")
    private String buildArea;

    @Schema(description = "性别")
    private String sex;

    @Schema(description = "小区名称")
    private String gardenName;
    @Schema(description = "楼栋名称")
    private String houseName;
    @Schema(description = "单元名称")
    private String unitName;
    @Schema(description = "房屋名称")
    private String roomName;

    @Schema(description = "出生年月")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date birthday;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date createTime;

}
